<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    //  JS基本数据类型
    //  string number  boolean  null undefined           object(array)

    // 隐式类型转换
    // 逻辑运算符   &&   ||   !

    // console.log(!true);
    // console.log(!false);

    // !的隐式类型转换

    // !  如果!之后的数据不是布尔值,会先隐式转化为布尔值再取反
    // !! 如果!之后的数据不是布尔值,会先隐式转化为布尔值,取反之后再取反

    // console.log(!1); // 1 转布尔值 true  => 取反 false
    // console.log(!"hello"); // "hello" 转布尔值 true  => 取反 false
    // console.log(!""); // "" 转布尔值 false  => 取反 true
    // console.log(!0); // 0 转布尔值 false  => 取反 true
    // console.log(!null); // null 转布尔值 false  => 取反 true

    console.log(!!1);
    console.log(!!"hello");
    console.log(!!"");
    console.log(!!0);
    console.log(!!NaN);
    console.log(!!null);
    console.log(!!undefined);

    
   


</script>
</html>